Distributed Modular Model Checking
نویسنده
چکیده
Model checking is a formal method that veri es whether a nite state model of a system satis es a speci cation gi v enas a temporal logic formula. The most severe problem model checking suffer from is the so called state explosion problem. Distribution is one of the techniques that combat the state explosion. The aim is to distribute the state space among a number of computers so as to be able to verify larger systems. Another approach that deals with the state explosion problem is modularity, i.e. e xploiting the structure of the system. We propose to employ modular techniques to distribute model checking problem. This can be useful especially for software, as the software model checking algorithms suffer from state explosion ev ense v erelythat the hardware model checking techniques ev enwhen the system consist of one sequential nite-state component. Moreov er,software programs ha v etypically richer syntactic structure that can be exploited. Besides elaborating a theoretical background for distributed model checking based on modular approach, we also intend to dev elop modular approaches to partitioning the state space, in particular to de ne partition functions that reduce the necessary communication in the distributed environment. Recently, in [2] we hav e proposed a technique that extends the approach introduced in [3]. The state space is partitioned into sev eral partial state spaces. The partial state space is modeled as a Kripke structure with border states. Each computer involved in the distributed computation owns a partial state space and performs a model checking algorithm on this incomplete structure. T o be able to proceed, the border states are augmented by assumptions about the truth of formulas and the computers exchange assumptions about relev ant states as they compute more precise information. In [1] we hav e suggested sev eral ways how to exploit syntactic information of software programs to improv e the performance of the algorithm. The main idea is to partition the state space according to syntactic structure of a sequential process, i.e. according to program counter locations. The aim of the ongoing research is to dev elop partition techniques based on values of program variables. We intend to exploit abstraction and slicing techniques. [1] L. Brim, J. Crhová, and K. Y ora v .Distributed Modular Model Checking of Software. Submitted to PASTE'02, 2002. [2] L. Brim, J. Crhová, and K. Yorav . Using Assumptions to Distribute CTLModel Checking. In P ar allel and Distrib uted Model Checking (PDMC), 2002. [3] K. Laster and O. Grumberg. Modular model checking of software. In Tools and Algorithms for Construction and Analysis of Systems, pages 2035, 1998. Proceedings of the 17 th IEEE International Conference on Automated Software Engineering (ASE’02) 1527-1366/02 $17.00 © 2002 IEEE
منابع مشابه
Model Checking Safety Properties in Modular High-Level Nets
Model checking by exhaustive state space enumeration is one of the most developed analysis methods for distributed event systems. Its main problem—the size of the state spaces—has been addressed by various reduction methods. Complex systems tend to consist of loosely connected modules, which may perform internal tasks in parallel. The possible interleavings of these parallel tasks easily leads ...
متن کاملModular Abstractions for Verifying Real-Time Distributed Systems
In this work we present a verification methodology for real-time distributed systems, based on their modular decomposition into processes. Given a distributed system, each of its components is reduced by abstracting away from details that are irrelevant for the required specification. The abstract components are then composed to form an abstract system to which a model checking procedure is app...
متن کاملVerification of Multi-agent Systems via Combined Model Checking
Model checking is a well-established technique for the formal verification of concurrent and distributed systems. In recent years, model checking has been extended and adapted for use in multi-agent systems, primarily to enable the formal analysis of BDI systems. While this has been successful, there is a need for more complex logical frameworks in order to verify realistic multi-agent systems....
متن کاملCombined model checking for temporal, probabilistic, and real-time logics
a r t i c l e i n f o a b s t r a c t Model checking is a well-established technique for the formal verification of concurrent and distributed systems. In recent years, model checking has been extended and adapted for multi-agent systems, primarily to enable the formal analysis of belief–desire–intention systems. While this has been successful, there is a need for more complex logical framework...
متن کاملevent: second international workshop on Scalable and Usable Model Checking
The use of distributed or parallel processing gained interest in the recent years to fight the state space explosion problem. Many industrial systems are described with large models, and the state space being even larger, it does not fit completely into the memory of a single computer. To avoid the high space requirement, several reduction techniques have been proposed: modular verification, pa...
متن کامل